The present invention relates generally to the field of data encryption, and more particularly to automatically discovering, changing, and encrypting passwords for systems.
A vast majority of computer programs and products are password encrypted to protect user data, user information, and the functionality of products. A password is a word or string of characters used for user authentication to prove identity or access approval to gain access to a resource and should be kept secret from those not allowed access.
With many products or programs a user's password is required to be altered or updated after, for example, predetermined time periods have expired to maintain a high level of security as the user's password might have been compromised. Some systems have a simple process for updating the password, while other systems may have complex and/or detailed procedures to update a password. The password alteration frequency can be relatively high. For example, some banks have a policy to alter production system passwords every 3-6 months as a regular practice. The passwords may need to be encrypted as well when using different encryption mechanisms to avoid tampering with them.
Complex systems are those systems which are composed of multiple middleware systems, such as application servers, databases, business process management systems and portals. Different passwords might need to be altered in one or more databases, property files, administration consoles, archive files or additional mechanisms. For example changing the database access user password is required in some systems which are using the database in a specific order. Some system have their own mechanism for storing such database passwords. The steps required to alter the passwords, if performed manually are prone to errors. These errors may cause some systems to malfunction or increase system down time.